<?php //
include_once("Conexion.php");

//Declaracion
class M_Movimientos{
    //Variable de la clase
    private $id_Movimientos;
    private $id_Ingrediente;
    private $id_Proveedor;    
    private $fecha;
    private $cantidad;    
    private $creacion;
    private $creadopor;
    private $actualizado;
    private $actualizadopor;    
    private $eliminado;
    
    //Metodo utilizado para obtener todos los Roles
    function searchMovimientos_All() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM tbl_movimientos where eliminado = false ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //Metodo utilizado para insertar una Rol en la base de datos
    function insertMovimientos() {
       
      
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
          //  pg_query($cn,"BEGIN");
            //Elaboramos la sentencia
            $sql = " insert into tbl_movimientos(id_ingrediente, id_proveedor, fecha, cantidad, creadopor, creacion, estado,  eliminado) values ('$this->id_Ingrediente', '$this->id_Proveedor', '$this->fecha', '$this->cantidad', '$this->creadopor', now(), true, false)";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
              //  pg_query($cn,"ROLLBACK");
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
               // pg_query($cn,"COMMIT");
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        return $rpta;
    }
    
    //Metodo utilizado para actualizar un ROL
    function updateMovimientos() {

            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
            $sql = " update tbl_movimientos set nombre = '$this->nombre', imagen = '$this->imagen', actualizadopor = '$this->actualizadopor', actualizado = now() where id_movimientos = $this->id_Movimientos";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
           
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
              //  mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        
        return $rpta;
    }
    //metodo utilizado para eliminar un rol
     function deleteMovimientos() {

            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
           $sql = " update tbl_movimientos set eliminado = true  where id_movimientos = $this->id_Movimientos";
          
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
           
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
              //  mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        
        return $rpta;
    }
    
    //Get y Set de la clase
    function getId_Movimientos() {
        return $this->id_Movimientos;
    }
    
    function getId_Ingrediente() {
        return $this->id_Ingrediente;
    }

    function getId_Proveedor() {
        return $this->id_Proveedor;
    }
    
    function getFecha() {
        return $this->fecha;
    }
    
    function getCantidad(){
        return $this->cantidad;
    }
            
    function getCreadoPor() {
        return $this->creadopor;
    }
    
    function getActualizadoPor() {
        return $this->actualizadopor;
    }
    
    function setId_Movimientos($var) {
        $this->id_Movimientos = $var;
    }
    
    function setId_Ingrediente($var) {
        $this->id_Ingrediente = $var;
    }

    function setId_Proveedor($var) {
        $this->id_Proveedor = $var;
    }
    
    function setFecha($var) {
        $this->fecha = $var;
    }
    
    function setCantidad($var) {
        $this->cantidad = $var;
    }
    
    function setCreadoPor($var) {
        $this->creadopor = $var;
    }
    
    function setActualizadoPor($var) {
        $this->actualizadopor = $var;
    }
}
?>